#ifndef MODIFICACIONCUENTACORRIENTE_H
#define MODIFICACIONCUENTACORRIENTE_H

#include <QWidget>
#include <QDate>
#include <QString>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlTableModel>
#include <QSqlRelationalTableModel>
#include <QMessageBox>
#include <QSqlRecord>
#include <QSqlField>
#include <QSqlQuery>
#include <QSqlError>
#include <QTableView>
#include <QIcon>
#include <QHeaderView>
#include <QSqlError>
#include <QKeyEvent>
#include <QKeySequence>
#include <QShortcut>

namespace Ui {
class ModificacionCuentaCorriente;
}

class ModificacionCuentaCorriente : public QWidget
{
    Q_OBJECT

public:
    explicit ModificacionCuentaCorriente(QWidget *parent = 0);
    ~ModificacionCuentaCorriente();

    void CargarConceptos();
    void GetCCInfo(int index);
    // func. para mov.
    void UpdateMovimientosList();
    void CorrectViewOfModelMov();
    void CalcularSaldoMensual();
    void ControlVencimientos();
    void CleanCCList();
    void UpdateCCList();
    void ActualizarDeuda(QString client_selected);
    void BuscarCheques();

private slots:
    void on_guardarBtn_clicked();
    void FiltrarCobroEsporadico();
    void FiltrarCobroServicio();
    void ControlFechaPago();
    //tipo moneda
    void TipoMonedaEfectivo();
    void TipoMonedaCheque();
    void TipoMonedaDepBco();
    void TipoMonedaTransBca();

private:
    Ui::ModificacionCuentaCorriente *ui;

    QSqlRelationalTableModel* const cc_model;
    QSqlRelationalTableModel *cobro_mensual_model;

    QString cliente;
    QString estadoCtaCte;
    QString RazSoc;

    int row;
    int id_cc_sel;

    double pago_debe;

    bool pago;

    void UpdateClientList();
    void RefreshCCView();

};

#endif // MODIFICACIONCUENTACORRIENTE_H
